import logging
import logging.handlers
import os

# 获取项目根目录
BaseDir = os.path.dirname(__file__)


def init_logging():
    """初始化日志配置"""
    # 创建日志器
    logger = logging.getLogger()
    # 设置日志级别
    logger.setLevel(logging.DEBUG)

    # 创建文件处理器（按时间滚动）
    log_path = BaseDir + "/log/log.log"
    fh = logging.handlers.TimedRotatingFileHandler(
        log_path,
        when='midnight',
        interval=1,
        backupCount=7
    )
    # 创建控制台处理器
    sh = logging.StreamHandler()

    # 设置处理器日志级别
    fh.setLevel(logging.INFO)
    sh.setLevel(logging.INFO)

    # 创建日志格式器
    fmt = "%(asctime)s %(levelname)s[%(name)s][%(filename)s(%(funcName)s:%(lineno)d)]-%(message)s"
    formatter = logging.Formatter(fmt)

    # 处理器添加格式器
    fh.setFormatter(formatter)
    sh.setFormatter(formatter)

    # 日志器添加处理器
    logger.addHandler(sh)
    logger.addHandler(fh)